<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>
        let baseURL = 'http://127.0.0.1:3002';
        function getAll(fn) {
            fetch(baseURL + '/getAll', {}).then(response => {
                if (response.status >= 200 && response.status < 300) { // 判断请求是否成功
                    return response.json() // 得到 JSON 对象
                } else throw new Error(response.statusText);
            }).then(json => {
                // console.log(json);  // 得到最终结果。
                fn && fn(json);
            }).catch(err => {
                console.log('Request Failed', err)
            });
        }

        // 记录连续出现同一个类型的次数
        let data = {}
        for (let index = 0; index < 10; index++)  data[index] = 0;
        // console.log('', data)

        // 在统计中，表示出现同一类型的次数。
        // 是二维数组，第一层表示第一个球道第五个求；
        // 第二层数组长度为4:
        // 下标0表示是否是大小，和daxiao方法对比，默认值是true，表示第一个数据是大
        // 下标1表示大或小中的类型连续出现次数
        // 下标2表示是否是单双，和danshuang方法对比，默认值是true，表示第一个数据是单
        // 下标3表示单或双中的类型连续出现次数
        let count = []
        for (let index = 0; index < 5; index++)  count.push([true, 0, true, 0]);
        // console.log('', count);

        getAll((res) => {
            console.log('', res)
            res.forEach((item, index) => {
                // console.log('', item, index)

                ['one', 'two', 'three', 'four', 'five'].forEach((item2, index) => {
                    // 第一个求 - 大小
                    if (daxiao(item[item2]) == count[index][0]) {
                        count[index][1] = ++count[index][1];
                    } else {
                        count[index][0] = !count[index][0];
                        data[count[index][1]] = (data[count[index][1]] || 0) + 1;
                        count[index][1] = 1;
                    }
                    // 第一个求 - 单双
                    if (danshuang(item[item2]) == count[index][2]) {
                        count[index][3] = ++count[index][3];
                    } else {
                        count[index][2] = !count[index][2];
                        data[count[index][3]] = (data[count[index][3]] || 0) + 1;
                        count[index][3] = 1;
                    }
                })

                // // 第一个求 - 大小
                // if (daxiao(item['one']) == count[0][0]) {
                //     count[0][1] = ++count[0][1];
                // } else {
                //     count[0][0] = !count[0][0];
                //     data[count[0][1]] = (data[count[0][1]] || 0) + 1;
                //     count[0][1] = 1;
                // }
                // // 第一个求 - 单双
                // if (danshuang(item['one']) == count[0][2]) {
                //     count[0][3] = ++count[0][3];
                // } else {
                //     count[0][2] = !count[0][2];
                //     data[count[0][3]] = (data[count[0][3]] || 0) + 1;
                //     count[0][3] = 1;
                // }
            })
            console.log('', count);
            console.log('', data);

            // 统计盈利
            // 有三个相同，则连下2次，分别是1，3
            y = (data[3] * 0.98 + data[4] * 3 * 0.98 - data[4]) - (countFn(5) * 4)
            console.log('有三个相同，则连下2次，分别是1，3，盈利为：', y)
            let yconfig = [
                {
                    xt: 6,
                    count: 3,
                    leb: [1, 3, 7]
                }
            ]

            // 9-Team Lead/Consultant 9 团队负责人/顾问
            // 10-Senior Analyst 10-高级分析师
            // 11-Analyst 11-分析师 
            
            // yconfig.forEach((item) => {
            //     y = 0, c = 0;
            //     item.leb.forEach((item2, index) => {
            //         y += data[item.xt + index] * item2 * 0.98
            //         c += item2;
            //     })
            //     item.leb.forEach((item2, index) => {
            //         if (index == 0) return;
            //         y -= data[item.xt + index - 1] * sje(item.leb)
            //     })
            //     y -= countFn(item.xt + item.leb.length) * c

            //     // y = (data[3] * 0.98 + data[4] * 3 * 0.98 - data[4]) - (countFn(5) * 4)
            //     console.log(`有${item.xt}个相同，则连下${item.count}次，分别是${item.leb}，盈利为：`, y)
            // })
            // function sje(obj) {
            //     let c = 0;
            //     obj.forEach((item2, index) => {
            //         if (obj.length - 1 == index) return;
            //         c = c + item2
            //     })
            //     return c;
            // }
        })

        // 大于或等于5为大，小于或等于4为小
        // 返回 大 => true，小 => false
        function daxiao(num) {
            return num >= 5 ? true : false;
        }

        // 双数叫双，如2、6；球号为单数叫单--如1、3
        // 返回 单 => true，双 => false
        function danshuang(num) {
            return num % 2 != 0 ? true : false;
        }

        // 失效的总次数
        // num 表示从连续次数num开始失效
        function countFn(num) {
            let c = 0;
            Object.keys(data).forEach((item) => {
                if (Number(item) >= num) {
                    c += data[item];
                }
            })
            return c;
        }

    </script>
</body>

</html>